Updating software and/or firmware on utility node devices, such as smart utility meters, control devices, sensors, etc., is currently complex and time consuming. For example, due to different versions of the software or firmware that are installed on the devices and/or different types of devices, the devices may require different update files to upgrade to a newer version of the software or firmware. In addition, because the update files are relatively large, and are transmitted wirelessly to the utility node devices, the upgrade process requires a substantial amount of time to both transmit the update files to the devices and perform the update at the devices. Accordingly, there is an increasing need to update software and firmware of utility node devices in an efficient manner.